
/**
 * 伪服务器端分页（一次性查出所有结果，但只返回部分值用于grid的显示）
 */
Ext.define('OrganizationView', {
	extend : 'Ext.panel.Panel',
	id : 'OrganizationView',
	title : '组织机构管理',
	layout : 'border',

	initComponent : function() {
		this.topbar = new Ext.Toolbar({
					items : [{
								iconCls : 'btn-del',
								text : '删除组织',
								xtype : 'button',
								handler : this.delRecords,
								scope : this
							}, '-', {
								iconCls : 'btn-refresh',
								text : '刷新',
								xtype : 'button',
								scope : this,
								handler : function() {
									this.gridPanel.getStore().reload();
								}
							}]
				});
		this.gridPanel = new KE.GridPanel({
					url : __ctxPath + "/system/list2Organization.do",
					forceFit : true,
					region : 'center',
					rownumbercfg : {
						width : 40
					},
					pageSize: 500,
					tbar : this.topbar,
					id : 'OrganizationViewGrid',
					fields : ['orgId', 'orgName', 'depth', 'fullName'],
					columns : [{
								header : 'orgId',
								dataIndex : 'orgId',
								hidden : true
							}, {
								header : '名称',
								dataIndex : 'orgName',
								renderer : function(v, g, rec) {
									var html = '';
									for (var i = 1; i < rec.data.depth; i++) {
										html += '―';
									}
									return html + v;
								}
							}, {
								header : '全称',
								dataIndex : 'fullName',
								width : 200
							}, {
								header : '深度',
								dataIndex : 'depth'
							}]
				});
		this.items = [this.gridPanel];
		this.callParent();
	},
	// 按IDS删除记录
	delByIds : function(ids) {
		var me = this;
		Ext.Msg.confirm('信息确认', '您确认要删除所选记录吗？', function(btn) {
			if (btn == 'yes') {
				Ext.Ajax.request({
							url : __ctxPath + '/system/multiDelOrganization.do',
							params : {
								ids : ids
							},
							method : 'POST',
							success : function(response, options) {
								Ext.ux.Toast.msg('操作信息', '成功删除！');
								Ext.getCmp('OrganizationViewGrid').getStore()
										.reload();
							},
							failure : function(response, options) {
								Ext.ux.Toast.msg('操作信息', '操作出错，请联系管理员！');
							}
						});
			}
		});// end of comfirm
	},
	// 删除多条记录
	delRecords : function() {
		var gridPanel = Ext.getCmp('OrganizationViewGrid');
		var selectRecords = gridPanel.getSelectionModel().getSelection();
		if (selectRecords.length == 0) {
			Ext.ux.Toast.msg("信息", "请选择要删除的记录！");
			return;
		}
		var ids = Array();
		for (var i = 0; i < selectRecords.length; i++) {
			ids.push(selectRecords[i].data.orgId);
		}
		this.delByIds(ids);
	}
});
